3 %bcond_without apidocs # disable gtk-doc
4 %bcond_without cups # disable CUPS support
5 %bcond_without papi # disable PAPI support
6 %bcond_without static_libs # don't build static library
8 Summary: The GIMP Toolkit
9 Summary(cs.UTF-8): Sada nástrojů pro GIMP
10 Summary(de.UTF-8): Der GIMP-Toolkit
11 Summary(fi.UTF-8): GIMP-työkalukokoelma
12 Summary(fr.UTF-8): Le toolkit de GIMP
13 Summary(it.UTF-8): Il toolkit per GIMP
14 Summary(pl.UTF-8): GIMP Toolkit
15 Summary(tr.UTF-8): GIMP ToolKit arayüz kitaplığı
22 Source0: http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.24/gtk+-%{version}.tar.xz
23 # Source0-md5: bfacf87b2ea67e4e5c7866a9003e6526
24 Patch0: %{name}-arch_confdir.patch
25 Patch1: gobject-introspection.patch
26 Patch2: %{name}-papi.patch
27 URL: http://www.gtk.org/
28 BuildRequires: atk-devel >= 1:1.30.0-3
29 BuildRequires: autoconf >= 2.62
30 BuildRequires: automake >= 1:1.7
31 BuildRequires: cairo-devel >= 1.6.0
32 %if %{with cups} || %{with papi}
33 BuildRequires: cups-devel
35 BuildRequires: docbook-dtd412-xml
36 BuildRequires: docbook-style-xsl
37 BuildRequires: gdk-pixbuf2-devel >= 2.22.0
38 BuildRequires: gettext-tools
39 BuildRequires: glib2-devel >= 1:2.27.3
40 BuildRequires: gobject-introspection-devel >= 0.10.0
41 %{?with_apidocs:BuildRequires: gtk-doc >= 1.17}
42 BuildRequires: gtk-doc-automake >= 1.11
43 BuildRequires: libtool >= 1:1.4.2-9
44 BuildRequires: libxml2-progs >= 1:2.6.31
45 BuildRequires: libxslt-progs >= 1.1.20
46 BuildRequires: pango-devel >= 1:1.28.1-4
47 %{?with_papi:BuildRequires: papi-devel}
48 BuildRequires: perl-base
49 BuildRequires: perl-devel
50 BuildRequires: pkgconfig
51 BuildRequires: rpm-pythonprov
52 BuildRequires: rpmbuild(macros) >= 1.311
53 BuildRequires: sed >= 4.0
54 BuildRequires: sqlite3-devel
55 BuildRequires: tar >= 1:1.22
56 BuildRequires: xorg-lib-libX11-devel
57 BuildRequires: xorg-lib-libXcomposite-devel
58 BuildRequires: xorg-lib-libXcursor-devel
59 BuildRequires: xorg-lib-libXdamage-devel
60 BuildRequires: xorg-lib-libXext-devel
61 BuildRequires: xorg-lib-libXfixes-devel
62 BuildRequires: xorg-lib-libXft-devel
63 BuildRequires: xorg-lib-libXi-devel
64 BuildRequires: xorg-lib-libXinerama-devel
65 BuildRequires: xorg-lib-libXrandr-devel >= 1.3.0
66 BuildRequires: xorg-lib-libXrender-devel
68 Requires: atk >= 1:1.30.0
69 Requires: cairo >= 1.6.0
70 Requires: gdk-pixbuf2 >= 2.22.0
71 Requires: glib2 >= 1:2.27.3
72 Requires: pango >= 1:1.26.0
73 Requires: xorg-lib-libXrandr >= 1.3.0
75 # cups is used by default if gtk+ is built with cups
76 Suggests: %{name}-cups = %{epoch}:%{version}-%{release}
78 Provides: gail = 1.23.0
79 Provides: gtk2 = %{version}
82 # sr@Latn vs. sr@latin
83 Conflicts: glibc-misc < 6:2.7
84 Conflicts: gtk2-engines < 1:2.2.0-6
85 # autopanog.exe crashes with gtk+2 2.8.x and libgdiplus 1.1.8
86 Conflicts: libgdiplus < 1.1.9
87 Requires(post): gtk-update-icon-cache
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 %define abivers 2.10.0
92 %if "%{_lib}" != "lib"
93 %define libext %(lib="%{_lib}"; echo ${lib#lib})
94 %define _sysconfdir /etc/gtk%{libext}-2.0
95 %define pqext -%{libext}
97 %define _sysconfdir /etc/gtk-2.0
102 GTK+, which stands for the GIMP ToolKit, is a library for creating
103 graphical user interfaces for the X Window System. It is designed to
104 be small, efficient, and flexible. GTK+ is written in C with a very
105 object-oriented approach. GDK (part of GTK+) is a drawing toolkit
106 which provides a thin layer over Xlib to help automate things like
107 dealing with different color depths, and GTK is a widget set for
108 creating user interfaces.
110 %description -l cs.UTF-8
111 Knihovny X původně psané pro GIMP, které nyní používá také řada jiných
114 %description -l da.UTF-8
115 X biblioteker, oprindeligt udviklet til GIMP, men anvendes nu af flere
116 forskellige programmer.
118 %description -l de.UTF-8
119 Die X-Libraries, die ursprünglich für GIMP geschrieben wurden und
120 mittlerweile für eine ganze Reihe anderer Programme benutzt werden.
122 %description -l fr.UTF-8
123 X-kirjastot, jotka alunperin kirjoitettiin GIMP:lle, mutta joita
124 käytetään nyt myös useissa muissakin ohjelmissa.
126 %description -l it.UTF-8
127 Libreria X scritta per GIMP. Viene usata da diversi programmi.
129 %description -l pl.UTF-8
130 GTK+, która to biblioteka stała się podstawą programu GIMP, zawiera
131 funkcje do tworzenia graficznego interfejsu użytkownika pod X Window.
132 Była tworzona z założeniem żeby była mała, efektywna i wygodna. GTK+
133 jest napisane w C z podejściem zorientowanym bardzo obiektowo. GDK
134 (część GTK+) jest warstwą pośrednią pomiędzy Xlib a właściwym GTK
135 zapewniającą pracę niezależnie od głębi koloru (ilości bitów na
136 piksel). GTK (druga część GTK+) jest natomiast już zbiorem różnego
137 rodzaju kontrolek służących do tworzenia interfejsu użytkownika.
139 %description -l tr.UTF-8
140 Başlangıçta GIMP için yazılmış X kitaplıkları. Şu anda başka
141 programlarca da kullanılmaktadır.
144 Summary: GTK+ header files and development documentation
145 Summary(cs.UTF-8): Sada nástrojů GIMP a kreslící kit GIMP
146 Summary(da.UTF-8): GIMP Toolkit og GIMP Tegnings-værktøj
147 Summary(de.UTF-8): GIMP Toolkit und GIMP Drawing Kit
148 Summary(fi.UTF-8): Gimp-työkalukokoelma ja Gimp-piirtotyökalut
149 Summary(fr.UTF-8): Toolkit de GIMP (GTK) et Kit de dessin de GIMP (GDK)
150 Summary(it.UTF-8): GIMP Toolkit and GIMP Drawing Kit
151 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do GTK+
152 Summary(tr.UTF-8): GIMP araç takımı ve çizim takımı
153 Group: X11/Development/Libraries
154 Requires: %{name} = %{epoch}:%{version}-%{release}
155 Requires: atk-devel >= 1:1.30.0
156 Requires: cairo-devel >= 1.6.0
157 Requires: gdk-pixbuf2-devel >= 2.22.0
158 Requires: glib2-devel >= 1:2.27.3
159 Requires: pango-devel >= 1:1.26.0
160 Requires: shared-mime-info
161 Requires: xorg-lib-libX11-devel
162 Requires: xorg-lib-libXcomposite-devel
163 Requires: xorg-lib-libXcursor-devel
164 Requires: xorg-lib-libXdamage-devel
165 Requires: xorg-lib-libXext-devel
166 Requires: xorg-lib-libXfixes-devel
167 Requires: xorg-lib-libXft-devel
168 Requires: xorg-lib-libXi-devel
169 Requires: xorg-lib-libXinerama-devel
170 Requires: xorg-lib-libXrandr-devel >= 1.3.0
171 Requires: xorg-lib-libXrender-devel
172 Provides: gail-devel = 1.23.0
173 Obsoletes: gail-devel
174 Obsoletes: gtk2-devel
177 Header files and development documentation for the GTK+ libraries.
179 %description devel -l pl.UTF-8
180 Pliki nagłówkowe i dokumentacja do bibliotek GTK+.
183 Summary: GTK+ static libraries
184 Summary(pl.UTF-8): Biblioteki statyczne GTK+
185 Group: X11/Development/Libraries
186 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
187 Provides: gail-static = 1.23.0
188 Obsoletes: gail-static
191 GTK+ static libraries.
193 %description static -l pl.UTF-8
194 Biblioteki statyczne GTK+
197 Summary: GTK+ API documentation
198 Summary(pl.UTF-8): Dokumentacja API GTK+
200 Requires: gtk-doc-common
201 Provides: gail-apidocs = 1.23.0
202 Obsoletes: gail-apidocs
203 %if "%{_rpmversion}" >= "5"
208 GTK+ API documentation.
210 %description apidocs -l pl.UTF-8
211 Dokumentacja API GTK+.
214 Summary: GTK+ - example programs
215 Summary(pl.UTF-8): GTK+ - programy przykładowe
216 Group: X11/Development/Libraries
217 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
219 %description examples
220 GTK+ - example programs.
222 %description examples -l pl.UTF-8
223 GTK+ - przykładowe programy.
226 Summary: CUPS printing module for GTK+
227 Summary(pl.UTF-8): Moduł GTK+ do drukowania przez CUPS
229 Requires: %{name} = %{epoch}:%{version}-%{release}
232 CUPS printing module for GTK+.
234 %description cups -l pl.UTF-8
235 Moduł GTK+ do drukowania przez CUPS.
238 Summary: PAPI printing module for GTK+
239 Summary(pl.UTF-8): Moduł GTK+ do drukowania przez PAPI
241 Requires: %{name} = %{epoch}:%{version}-%{release}
245 PAPI printing module for GTK+.
247 %description papi -l pl.UTF-8
248 Moduł GTK+ do drukowania przez PAPI.
251 %setup -q -n gtk+-%{version}
256 %{__sed} -i -e '1s,/usr/bin/env python,/usr/bin/python,' gtk/gtk-builder-convert
265 CPPFLAGS="%{rpmcppflags}%{?with_papi: -I/usr/include/papi}"
267 %{!?with_cups:--disable-cups} \
268 %{?debug:--enable-debug=yes} \
269 --%{?with_apidocs:en}%{!?with_apidocs:dis}able-gtk-doc \
271 %{!?with_papi:--disable-papi} \
273 --%{?with_static_libs:en}%{!?with_static_libs:dis}able-static \
274 --with-gdktarget=x11 \
275 --with-html-dir=%{_gtkdocdir} \
278 %{__make} CC="%{__cc}"
281 rm -rf $RPM_BUILD_ROOT
282 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
283 $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{abivers}/filesystems
286 DESTDIR=$RPM_BUILD_ROOT \
287 m4datadir=%{_aclocaldir} \
288 pkgconfigdir=%{_pkgconfigdir}
290 touch $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{abivers}/immodules.cache
292 cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
294 # shut up check-files (static modules and *.la for modules)
295 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.{a,la}
296 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{abivers}/*/*.{a,la}
297 # remove libtool files
298 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/*.la
300 # built in gtk+3.spec
301 %{__rm} $RPM_BUILD_ROOT%{_bindir}/gtk-update-icon-cache \
302 $RPM_BUILD_ROOT%{_mandir}/man1/gtk-update-icon-cache.1
304 %if "%{_lib}" != "lib"
305 # We need to have 32-bit and 64-bit binaries as they have hardcoded LIBDIR.
306 # (needed when multilib is used)
307 mv $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0{,%{pqext}}
310 # for various GTK+2 modules
311 install -d $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules
313 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
314 # unsupported by glibc
315 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/io
317 %find_lang %{name} --all-name
319 %{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}/{gdk,gdk-pixbuf,gtk}}
322 rm -rf $RPM_BUILD_ROOT
327 %{_bindir}/gtk-query-immodules-2.0%{pqext} --update-cache
332 if [ "$1" != "0" ]; then
334 # we need to check for dir existence for multilib installs as the $1 is 1
335 # if we remove the other arch pkg will be still present.
336 # i.e we have installed gtk+2-2.16.5-1.x86_64 and gtk+2-2.16.5-1.i686, and remove gtk+2-2.16.5-1.i686
337 if [ -d %{_sysconfdir} ]; then
338 %{_bindir}/gtk-query-immodules-2.0%{pqext} --update-cache
343 %triggerpostun -- gtk+2 < 2:2.4.0
345 %{_bindir}/gtk-query-immodules-2.0%{pqext} --update-cache
348 %triggerin -- hicolor-icon-theme
349 if [ "$1" = "1" ] && [ "$2" = "1" ]; then
350 %update_icon_cache hicolor
353 %files -f %{name}.lang
354 %defattr(644,root,root,755)
355 %doc AUTHORS NEWS README
356 %attr(755,root,root) %{_bindir}/gtk-query-immodules-2.0%{pqext}
358 %attr(755,root,root) %{_libdir}/libgailutil.so.*.*.*
359 %attr(755,root,root) %ghost %{_libdir}/libgailutil.so.18
360 %attr(755,root,root) %{_libdir}/libgdk-x11-2.0.so.*.*.*
361 %attr(755,root,root) %ghost %{_libdir}/libgdk-x11-2.0.so.0
362 %attr(755,root,root) %{_libdir}/libgtk-x11-2.0.so.*.*.*
363 %attr(755,root,root) %ghost %{_libdir}/libgtk-x11-2.0.so.0
364 %dir %{_libdir}/gtk-2.0
365 %dir %{_libdir}/gtk-2.0/modules
366 %attr(755,root,root) %{_libdir}/gtk-2.0/modules/libferret.so
367 %attr(755,root,root) %{_libdir}/gtk-2.0/modules/libgail.so
368 %dir %{_libdir}/gtk-2.0/%{abivers}
369 %dir %{_libdir}/gtk-2.0/%{abivers}/engines
370 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/engines/libpixmap.so
371 %dir %{_libdir}/gtk-2.0/%{abivers}/filesystems
372 %dir %{_libdir}/gtk-2.0/%{abivers}/immodules
373 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/immodules/im-*.so
374 %ghost %{_libdir}/gtk-2.0/%{abivers}/immodules.cache
375 %dir %{_libdir}/gtk-2.0/%{abivers}/printbackends
376 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/printbackends/libprintbackend-file.so
377 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/printbackends/libprintbackend-lpr.so
378 %{_libdir}/girepository-1.0/Gdk-2.0.typelib
379 %{_libdir}/girepository-1.0/GdkX11-2.0.typelib
380 %{_libdir}/girepository-1.0/Gtk-2.0.typelib
383 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/im-multipress.conf
384 %dir %{_datadir}/themes/Default/gtk-*
385 %{_datadir}/themes/Default/gtk-*/gtkrc
386 %dir %{_datadir}/themes/Emacs
387 %dir %{_datadir}/themes/Emacs/gtk-*
388 %{_datadir}/themes/Emacs/gtk-*/gtkrc
389 %dir %{_datadir}/themes/Raleigh
390 %dir %{_datadir}/themes/Raleigh/gtk-*
391 %{_datadir}/themes/Raleigh/gtk-*/gtkrc
392 %{_mandir}/man1/gtk-query-immodules-2.0.1*
395 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_bindir}/gtk-builder-convert
398 %attr(755,root,root) %{_libdir}/libgailutil.so
399 %attr(755,root,root) %{_libdir}/libgdk-x11-2.0.so
400 %attr(755,root,root) %{_libdir}/libgtk-x11-2.0.so
401 %{_includedir}/gail-1.0
402 %{_includedir}/gtk-2.0
403 %{_includedir}/gtk-unix-print-2.0
404 %{_aclocaldir}/gtk-2.0.m4
405 %{_libdir}/gtk-2.0/include
406 %{_pkgconfigdir}/gail.pc
407 %{_pkgconfigdir}/gdk-2.0.pc
408 %{_pkgconfigdir}/gdk-x11-2.0.pc
409 %{_pkgconfigdir}/gtk+-2.0.pc
410 %{_pkgconfigdir}/gtk+-unix-print-2.0.pc
411 %{_pkgconfigdir}/gtk+-x11-2.0.pc
412 %{_datadir}/gir-1.0/Gdk-2.0.gir
413 %{_datadir}/gir-1.0/GdkX11-2.0.gir
414 %{_datadir}/gir-1.0/Gtk-2.0.gir
415 %{_mandir}/man1/gtk-builder-convert.1*
417 %if %{with static_libs}
419 %defattr(644,root,root,755)
420 %{_libdir}/libgailutil.a
421 %{_libdir}/libgdk-x11-2.0.a
422 %{_libdir}/libgtk-x11-2.0.a
427 %defattr(644,root,root,755)
428 %{_gtkdocdir}/gail-libgail-util
434 %defattr(644,root,root,755)
435 %attr(755,root,root) %{_bindir}/gtk-demo
437 %{_examplesdir}/%{name}-%{version}
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/printbackends/libprintbackend-cups.so
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/gtk-2.0/%{abivers}/printbackends/libprintbackend-papi.so